Let mkrpm work without root login and use mkspec.
authoroliskoli <oliskoli>
Tue, 21 Nov 2006 21:10:42 +0000 (21:10 +0000)
committeroliskoli <oliskoli>
Tue, 21 Nov 2006 21:10:42 +0000 (21:10 +0000)
Makefile.in
tools/mkrpm

index 8abb6937fca6e7eecb6823bc5a16c932f2b6d514..5db824248a858f4353a07472752a0f9ea8c50505 100644 (file)
@@ -280,8 +280,8 @@ release-upload:  /tmp/gpsbabel-$(VERSIOND).tar.gz  /tmp/gpsbabel-$(VERSIOND).zip
 
 release: release-sourcecheck  release-tarball release-winbuild release-rpm release-upload
 
-rpm: clean
-       tools/mkrpm $(VERSD) $(RELEASE)
+rpm:
+       tools/mkrpm $(VERSD) $(RELEASE) $(WEB)
 
 mac-release:
        mkdir -p usr/bin usr/share/gpsbabel/doc
index b83832c93ce5f2e0a92351d68bf929ce55398c6a..9512266b10bf109fceecef22e77fa17c2b8d3e7e 100755 (executable)
@@ -1,10 +1,12 @@
 #!/bin/sh
 #
 
-SPEC=gpsbabel.spec
-TAR_IGNORE="--exclude CVS"
 VERSION=$1
 RELEASE=$2
+WEB=$3
+
+SPEC=gpsbabel.spec
+TAR_IGNORE="--exclude CVS"
 
 if test -x /usr/bin/rpmbuild; then 
        RPM=rpmbuild
@@ -12,82 +14,39 @@ else
        RPM=rpm
 fi
 
-DIR=`pwd`
-TEMPDIR=/tmp/gpsbabel-rpm.$$
-mkdir -p $TEMPDIR
-trap "cd $DIR; rm -fr $TEMPDIR" 0 1 2 3 15
-
-function addspec()
-{
-       echo "$*" >> $SPEC
-}
-
-# create spec file needed for rpm generation
-function mkspec()
-{
-       local REL=`echo $RELEASE | sed 's/^-//'`
-       test "$REL" == "" && REL=0
+test -f gpsbabel.html || exit 1
 
-       echo -n "" > $SPEC # create the file
-       
-       addspec "Summary:   GPSBabel"
-       addspec "Name:      gpsbabel"
-       addspec "Version:   $VERSION"
-       addspec "Release:   $REL"
-       addspec "License:   GPL"
-       addspec "Group:     File tools"
-       addspec "Source:    %{name}-%{version}.tar.bz2"
-       addspec "BuildRoot: %{_tmppath}/%{name}-%{version}-build"
-       addspec "URL:       http://www.gpsbabel.org"
-       addspec ""
-       
-       addspec "%description"
-       addspec "Converts GPS waypoint, route and track data from one format type to another."
-       addspec ""
-       
-       addspec "Authors:"
-       addspec "--------"
-       
-       cat $DIR/AUTHORS >> gpsbabel.spec
-       
-       addspec ""
-       addspec "%prep"
-       addspec "%setup -q"
-       addspec ""
-       
-       addspec "%build"
-       addspec "./configure"
-       addspec "make"
-       addspec ""
-       addspec "%install"
-       addspec "rm -rf "
-       addspec "mkdir -p %{buildroot}/usr/bin "
-       addspec "install -m 555 gpsbabel %{buildroot}/usr/bin/gpsbabel "
-       addspec ""
-       
-       addspec "%files"
-       addspec "%defattr(-,root,root)"
-       addspec "/usr/bin/gpsbabel"
-       addspec "%doc README* COPYING CHANGELOG AUTHORS readme.xml"
-       addspec ""
-       addspec "%changelog"
-}
-
-cd $TEMPDIR
-
-ln -sf $DIR gpsbabel-$VERSION
-
-mkspec
-
-cat $DIR/../babelweb/changes.html | $DIR/tools/mkchangelog > gpsbabel-$VERSION/CHANGELOG
-cat gpsbabel-$VERSION/CHANGELOG >> gpsbabel.spec
-
-cp gpsbabel.spec gpsbabel-$VERSION/
-rm -f gpsbabel.spec
-
-tar -cj $TAR_IGNORE -f gpsbabel-$VERSION.tar.bz2  gpsbabel-$VERSION/.
-rm -f gpsbabel-$VERSION
-
-${RPM} -ta gpsbabel-$VERSION.tar.bz2
+SRC=`pwd`
+TEMPDIR=/tmp/gpsbabel-rpm.$$
 
-cd $DIR
+mkdir -p $TEMPDIR
+trap "rm -fr $TEMPDIR" 0 1 2 3 15
+
+mkdir -p $TEMPDIR/BUILD $TEMPDIR/RPMS $TEMPDIR/SPECS \
+         $TEMPDIR/SOURCES $TEMPDIR/SRPMS $TEMPDIR/TMP $TEMPDIR/install 
+
+echo "Generate rpm spec file..."
+sh $SRC/tools/mkspec "$WEB" "$VERSION" "$RELEASE" > "$TEMPDIR/SPECS/gpsbabel.spec"
+cp -apr ./ $TEMPDIR/TMP/gpsbabel-$VERSION
+
+# 
+pushd $TEMPDIR/TMP/gpsbabel-$VERSION
+echo "Cleaning source..."
+make more-clean > /dev/null 2>&1
+find . -type d -name CVS -exec rm -rf \{\} \; > /dev/null 2>&1
+find . -type d -name "autom4*" -exec rm -rf \{\} \; > /dev/null 2>&1
+
+echo "Add needed files..."
+cp -ap $SRC/gpsbabel.html ./
+cp -ap $SRC/CHANGELOG ./
+
+echo "Create rpm source tarball..."
+cd ..
+# --verbose 
+tar --owner=0 --group=0 -czf ../SOURCES/gpsbabel-$VERSION.tgz gpsbabel-$VERSION
+echo "And now create rpm packages..."
+${RPM} -ba \
+         --define "_topdir $TEMPDIR" \
+         --define "buildroot $TEMPDIR/install" \
+         $TEMPDIR/SPECS/gpsbabel.spec
+find ../. -type f -name "*.rpm" -exec cp -apf \{\} /tmp/ \;